JEDEC (Joint Electron Device Engineering Council) promulgates several standards including the UFS standard for high performance mobile storage devices. The UFS has adopted MIPI (Mobile Industry Processor Interface) for data transfer in mobile systems. The UFS is a standard to provide high-performance serial interface for moving data between a host and a storage device.
UFS is well-suited for mobile applications (e.g., mobile phones, laptop computers, handheld devices, tablets, etc.) where high performance demands are seen in conjunction with low power consumption requirements. A UFS memory system may be an embedded device within a host such as a processor or an SoC (System-on-Chip), and/or may be integrated on a removable card, for flexible use with different hosts. Different standards and configurations may be applicable to the available UFS memory systems.
UFS memory systems and their interfaces to the hosts may include multiple layers to support the standards. The host may include an HCI (Host Controller Interface) and a UTP (UFS Transport Protocol) as defined in the JEDEC standard. The host may also include a Unipro (Unified Protocol) and a physical interface referred to as M-PHY (Mobile-PHYsical-Layer) as defined by MIPI. Within the host, the Unipro and the M-PHY are designed to communicate through an interface or bus referred to as an RMMI (Reference M-PHY Module Interface), which is also defined in MIPI.
A UFS memory system which communicates with the host may also include counterpart layers, UTP, Unipro, and M-PHY. Each M-PHY supports a specific number of bits or pins, referred to in units of lanes. A lane is a high speed serial interface targeting 2.9 Gbits per second per lane with up-scalability to 5.8 Gbits per second per lane. UFS 2.0 defines three high speed gears—HS-G1, HS-G2, HS-G3—with each gear having different transmission speeds.
Depending on the particular implementation, each UFS device may support one or more lanes. For example, an embedded UFS device supports two lanes with all three gears in each lane. An external UFS card is typically a removable device, and supports a single lane of memory traffic in all three gears.
A conventional host controller shifts gears based on the type of request it receives. For example, the host controller switches to G3 (gear 3) for large data transfers, to G2 for moderate data transfers, and to G1 for small data transfers. When there are continuous data transfers on the embedded UFS memory and the external UFS card one after the other, the lanes and gears must also shift one after the other. Also, if the I/O (input/output) requests arrive in random order of gear requirement, the frequent shifting of the lanes and gears can cause significant power consumption.